package ua.kpi.ipsa.expert.api.net;

import java.util.Map;

/**
 * 
 * @author doctorpro
 *
 */
public interface UserListener {
	
	// values for the markers
	public static final String MARKER_START = "marker_start";
	public static final String MARKER_END_SUCCESS = "marker_end_success";
	public static final String MARKER_END_FAIL = "marker_end_fail";
	public static final String MARKER_END_NOINFO = "marker_end_noinfo";
	
	/**
	 * Method is called to notify about user logged in
	 * 
	 * @param userLogin
	 */
	public void userLoggedIn(String userLogin);
	
	/**
	 * Method is called to notify about user logged out
	 * @param userLogin
	 */
	public void userLoggedOut(String userLogin);
	
	/**
	 * 
	 * @param methodName - the name of the method user invoked
	 * @param userArguments - some volatile arguments relative to the method invokation
	 */
	public void userAction(String login, String methodName, String marker, Map<String, String> userArguments);
}
